package com.sromku.simple.fb.actions; import java.util.ArrayList; import java.util.List; import android.os.Bundle; import com.facebook.Response; import com.facebook.model.GraphUser; import com.sromku.simple.fb.SessionManager; import com.sromku.simple.fb.entities.Profile; import com.sromku.simple.fb.entities.Profile.Properties; import com.sromku.simple.fb.utils.GraphPath; import com.sromku.simple.fb.utils.Utils; public class GetFriendsAction extends GetAction<List<Profile>> { private Properties mProperties; public GetFriendsAction(SessionManager sessionManager) { super(sessionManager); } public void setProperties(Properties properties) { mProperties = properties; } @Override protected String getGraphPath() { return String.format("%s/%s", getTarget(), GraphPath.FRIENDS); } @Override protected Bundle getBundle() { if (mProperties != null) { return mProperties.getBundle(); } return null; } @Override protected List<Profile> processResponse(Response response) { List<GraphUser> graphUsers = Utils.typedListFromResponse(response, GraphUser.class); List<Profile> profiles = new ArrayList<Profile>(graphUsers.size()); for (GraphUser graphUser : graphUsers) { profiles.add(Profile.create(graphUser)); } return profiles; } }